// 目标：实现递归三定律中的基准情形和尾递归优化
// TODO: 补全 factorial 函数
fn factorial(n: u32, accumulator: u32) -> u32 {
    if n == 0 {
        // 基准情形
    } else {
        // 递归调用（需满足尾递归优化）
    }
}

#[test]
fn test_factorial() {
    assert_eq!(factorial(5, 1), 120);
}